From 70a5d391f50a9c0de8bd3226f5e49cbefc021a76 Mon Sep 17 00:00:00 2001 From: robertl Date: Thu, 28 Feb 2008 15:40:50 +0000 Subject: [PATCH] Tomtom: fix mem overwrite on comments > 255 chars. git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@3102 f51c46e8-681c-474f-0cfe-069cfd0219fb --- gpsbabel/tomtom.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gpsbabel/tomtom.c b/gpsbabel/tomtom.c index 49f3b2ae0..45ce10443 100644 --- a/gpsbabel/tomtom.c +++ b/gpsbabel/tomtom.c @@ -235,7 +235,7 @@ write_blocks( FILE *f, struct blockheader *blocks ) { if (global_opts.smart_names && blocks->start[i].wpt->gc_data.diff && blocks->start[i].wpt->gc_data.terr) { - snprintf(desc_field,256,"%s(t%ud%u)%s(type%dcont%d)",blocks->start[i].wpt->description, + snprintf(desc_field,sizeof(desc_field),"%s(t%ud%u)%s(type%dcont%d)",blocks->start[i].wpt->description, blocks->start[i].wpt->gc_data.terr/10, blocks->start[i].wpt->gc_data.diff/10, blocks->start[i].wpt->shortname, @@ -243,7 +243,8 @@ write_blocks( FILE *f, struct blockheader *blocks ) { (int) blocks->start[i].wpt->gc_data.container); //Unfortunately enums mean we get numbers for cache type and container. } else { - strcpy(desc_field,blocks->start[i].wpt->description); + snprintf(desc_field, sizeof(desc_field), "%s", + blocks->start[i].wpt->description); } write_long( f, strlen( desc_field ) + 14 ); write_float_as_long( f, blocks->start[i].wpt->longitude*100000); -- 2.30.2